The present invention relates to the field of simulations. More particularly, the present invention relates to circuit noise simulations.
Simulations are used to model physical devices to facilitate device design, prototyping, and/or testing. A computer system typically runs simulations by executing a set of instructions or code representative of devices and the functionalities/interactions that occur between these devices. A modeled device may comprise a component on an integrated chip (e.g., a resister, transistor, processor, bus, clock memory, etc.), the entire integrated circuit (IC), a system including an IC, or other components of an electronic system.
Once a model representative of a device has been generated, various properties of the device, including its interaction with other modeled device(s), can be analyzed within the simulation environment. The collection of one or more modeled devices (also referred to as a modeled system) is analyzed by subjecting it to various known inputs and studying the outputs. Given the complexity of devices represented by the modeled system, a number of different analyses are typically performed to fully understand device properties and behaviors.
One of the analyses typically performed on modeled systems is noise analysis. Noise analysis aims to study noises inherently generated by the devices being modeled. For example, when a circuit comprising a plurality of devices (e.g., resisters, capacitors, inductors, transistors, etc.) is the modeled system, the noise inherently or internally generated from each of the devices may be simulated to analyze the overall noise for the circuit. For a radio frequency (RF) circuit operated with excitation of a large signal, the noise of each of the individual devices comprising the circuit is treated as a small signal (a signal much smaller in magnitude than the large signal) which perturbs the large signal solution for the circuit. Hence, noise analysis for RF circuits is a two-step process. The first step comprises performing a periodic steady state (PSS) analysis which solves for a large steady state solution. The second step comprises a periodic noise (Pnoise) analysis using the large steady state solution and treating each device noise as a small signal.
With Pnoise analysis, a specific input noise is injected into the modeled system causing it to generate an output noise having a number of sidebands each around an integer-multiple of the large signal frequency in the frequency domain. Ideally all the sidebands of the output noise would be simulated so that they are all taken into account to provide an accurate simulation of the circuit Pnoise. In practice, however, simulating all the sidebands of the output noise is computationally challenging due to the large number of sidebands. For simple RF circuits (e.g., some narrowband RF circuits), the computation load is managed by only simulating a small number of sidebands (e.g., 10 to 20 sidebands). The contribution of sidebands beyond the initial small number of sidebands is minimal and can be ignored without sacrificing accuracy of the total output noise. For more complex RF circuits (e.g., broadband digitally-switched circuits such as input/output buffers or frequency dividers), contribution of sidebands beyond the initial 10 to 20 sidebands is not negligible. To obtain an accurate total output noise requires taking into account a large number of sidebands (e.g., several thousand sidebands). Computations required to simulate upwards of several thousand sidebands may take one, two, or more days to complete.
With the goal of increasing design productivity, designers may be tempted to select simulation parameters that will result in faster simulation results. One such parameter selection is to specify the number of sidebands to take into account for the Pnoise analysis (e.g., specifying a maximum sideband value). While selecting a small maximum sideband value is fine for certain type of circuits, it can seriously impact the accuracy of simulation results for other types of circuits as discussed above. If the circuit being modeled has, in fact, non-negligible contributions from sidebands beyond the initial small number of sidebands and the designer is not aware of this (or does not have time to run a multi-day simulation), the resulting simulation results may be inaccurate and not particularly useful. The designer may not even be aware that the simulation results are inaccurate, which negatively impacts the circuit design process.
Thus, it would be beneficial to provide accurate Pnoise simulation results without a high computation cost. It would be further beneficial to provide a simulation tool requiring less knowledge by designers while automatically providing accurate simulation results.